Skip to content

[Launcher] Initial commit#3426

Draft
Herklos wants to merge 234 commits intodevfrom
feature/add-daemon-package
Draft

[Launcher] Initial commit#3426
Herklos wants to merge 234 commits intodevfrom
feature/add-daemon-package

Conversation

@Herklos
Copy link
Copy Markdown
Contributor

@Herklos Herklos commented Apr 28, 2026

No description provided.

GuillaumeDSM and others added 30 commits October 31, 2022 22:27
@Herklos Herklos self-assigned this Apr 28, 2026
@Herklos Herklos force-pushed the feature/add-daemon-package branch 17 times, most recently from f8b5260 to e66fb4c Compare April 29, 2026 07:41
…ends

New Rust-based daemon that manages OctoBot instances as a system service.

Core features:
- REST API (TCP + Unix socket) for instance lifecycle management
- Binary, Python, and Docker runtime backends
- SSE streaming for start/restart/update progress
- JWT-based token auth with scopes and audit logging
- launchd/systemd/Windows service integration
- Auto-update via signed manifest

Binary backend:
- HTTP probe loop (60s timeout) waits for OctoBot to actually serve port 5001
- Subprocess cwd pinned to instance data_dir
- stdout/stderr always captured to logs/launcher-stdio.log
- startup_timeout_secs configurable via runtime_options

Service management:
- service stop/restart kill free-running daemons via launcher.pid (not just launchctl)
- spawn_daemon always uses ["service", "run"] args; waits 700ms and tails log on early exit
- Supervisor writes/removes launcher.pid around the serve loop

Instance stop:
- NotRunning treated as success in stop_instance route (idempotent stop)
- Backend::stop takes &InstanceSpec so PID file can be found after daemon restart
- BinaryBackend/PythonBackend: SIGTERM via PID file when in-memory child state is lost

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Herklos Herklos force-pushed the feature/add-daemon-package branch from e66fb4c to 844d88b Compare April 30, 2026 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants